package com.munichosica.myapp.controller.AlmacenTienda;

import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.munichosica.myapp.dto.AlmacenTienda;
import com.munichosica.myapp.dto.Tienda;
import com.munichosica.myapp.exceptions.AlmacenTiendaDaoException;
import com.munichosica.myapp.factory.AlmacenTiendaDaoFactory;
import com.sun.org.apache.regexp.internal.recompile;

@Controller
@RequestMapping("/AlmacenTienda")
public class AlmacenTiendaController {
	
	private Logger logger=Logger.getLogger(AlmacenTiendaController.class);
	
	@RequestMapping(value="Listar.htm", method=RequestMethod.POST)
	public @ResponseBody List<AlmacenTienda> listar(@RequestParam("codigo") Integer codigo,
			@RequestParam("estado") String estado){
		List<AlmacenTienda> lista=null;
		try {
			lista=AlmacenTiendaDaoFactory.create().listar(codigo, estado);
		} catch (AlmacenTiendaDaoException e) {
			logger.error(e.getMessage(),e );
		}
		return lista;
	}
	
	@RequestMapping(value="ListarTiendasNoExistenAlmacen.htm", method=RequestMethod.POST)
	public @ResponseBody List<Tienda> listarTiendasNoExistenAlmacen(@RequestParam("codigo") Integer codigo){
		List<Tienda> tiendas=null;
		try {
			System.out.println("CODIGO: "+codigo);
			tiendas=AlmacenTiendaDaoFactory.create().listarTiendasNoAgregadasEnAlmacen(codigo);
		} catch (AlmacenTiendaDaoException e) {
			logger.error(e.getMessage(), e);
		}
		return tiendas;
	}
	
	@RequestMapping(value="Insertar.htm", method=RequestMethod.POST)
	public @ResponseBody String insertar(AlmacenTienda almacenTienda){
		try {
			AlmacenTiendaDaoFactory.create().insertar(almacenTienda);
		} catch (AlmacenTiendaDaoException e) {
			logger.error(e.getMessage(), e);
		}
		return String.valueOf(almacenTienda.getAlmacen().getAlmcodigoI());
	}
	
	@RequestMapping(value="Modificar.htm", method=RequestMethod.POST)
	public @ResponseBody String modificar(AlmacenTienda almacenTienda){
		try {
			AlmacenTiendaDaoFactory.create().modificar(almacenTienda);
		} catch (AlmacenTiendaDaoException e) {
			logger.error(e.getMessage(), e);
		}
		return String.valueOf(almacenTienda.getAlmacen().getAlmcodigoI());
	}

	@RequestMapping(value="Eliminar.htm", method=RequestMethod.POST)
	public @ResponseBody String eliminar(AlmacenTienda almacenTienda){
		try {
			AlmacenTiendaDaoFactory.create().eliminar(almacenTienda);
		} catch (AlmacenTiendaDaoException e) {
			logger.error(e.getMessage(), e);
		}
		return String.valueOf(almacenTienda.getAlmacen().getAlmcodigoI());
	}
}
